'''
1.导入socket模块
2.创建socket套接字
3.建立TCP连接（和服务端建立连接）
4.发送数据（到服务端）
5.等待接收数据
6.关闭

'''

# 1.导入socket模块
import socket

# 2.创建socket套接字
# 参数1：地址类型 family:AddreFamily 地址簇
#        socket.AF_INET：IPV4
#        socket.AF_INET6: IPV6
# 参数2：协议类型
#        SOCK_STREAM    TCP
#        SOCK_DGRAM     UDP       
TCP_client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 3.建立TCP连接（和服务端建立连接
addr = ("127.0.0.1", 8080) # 是指服务器(IP,端口号)元组
TCP_client_socket.connect(addr)
# 4.开始发送数据（到服务端），不能直接发送字符串
TCP_client_socket.send("赵留刚".encode(encoding="UTF-8"))
print("-------------------等待接收数据")
# 5.等待接收数据（服务器回复消息）
# 代码会在这里阻塞，直到服务器回复消息，自动释放阻塞
# 参数_bufsize：设置缓冲区大小2048个字节，一次性最大接收20248个字节
recv_data = TCP_client_socket.recv(2048)
print("接收到数据", recv_data.decode(encoding="UTF-8"))
# 6.关闭套接字
TCP_client_socket.close()